cc.Class({
    extends: cc.Component,

    properties: {

    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
        // 各个奖品的区域
        this.prizeArea = {
            '特等奖': [0, 60],
            '一等奖': [60, 120],
            '三等奖': [120, 180],
            '鼓励奖': [180, 240],
            '二等奖': [240, 300],
            '谢谢参与': [300, 360]
        }

        // 用于判断是否正在抽奖
        this.isOn = false;
    },

    wheelBtn () {
        // 如果正在抽奖，则跳过，否则之前的动作会被覆盖掉
        if (!this.isOn) {
            this.isOn = true;
            this.node.angle = 28;

            // 先判断应该抽中哪一个奖品，并获取对应区域
            let result = this.getResult();
            console.log(result);
            let area = this.prizeArea[result];
            let addAngle = Math.round(Math.random()*60)+area[0];

            // 获取随机旋转时间，旋转数根据旋转时间设定
            let rotateTime = Math.round(Math.random()*10)+3;
            let rotateRound = Math.round(Math.random()*rotateTime)+rotateTime;

            // 动作
            let rotate = cc.rotateBy(rotateTime, 360*rotateRound+addAngle).easing(cc.easeSineOut());
            let callback = cc.callFunc(()=>{
                this.isOn = false;
            });
            let sequence = cc.sequence(rotate, callback)
            this.node.runAction(sequence);
        }
    },

    getResult() {
        // 先判断应该抽中哪一个奖品，不同区域的概率不同
        let temp = Math.random()*100;
        let result = null;
        if (temp>=0 && temp<70) {
            result = '谢谢参与';
        }
        else if (temp>=70 && temp<90) {
            result = '鼓励奖';
        }
        else if (temp>=90 && temp<96) {
            result = '三等奖';
        }
        else if (temp>=96 && temp<99) {
            result = '二等奖';
        }
        else if (temp>=99 && temp<99.999) {
            result = '一等奖';
        }
        else if (temp>=99.999 && temp<100) {
            result = '特等奖'
        }
        return result;
    }
});
